package com.ls.controller.sms.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

import static com.ls.constant.SystemConstants.CHANNEL_TYPE_CURRENT;
import static com.ls.constant.SystemConstants.CHANNEL_TYPE_PLATFORM;

/**
 * @ClassName SmsModel
 * @Description APP用户 新增短信model 五个字段
 * @Author pengyu
 * @Date 2024/6/27 17:14
 * @Version 1.0
 **/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class SmsModel {
    /**
     * 呼入： 1 拒接 2 未接通 3 已接通 4勿扰；  呼出：5 所有
     */
    @NotNull(message = "呼叫类型不得为空")
    @Max(value = 5)
    @Min(value = 1)
    private Integer callType;

    @NotBlank(message = "被叫号码不能为空")
    private String outerPhone;
    /**
     * 对方姓名
     */
    private String outerName;

//    /**
//     * 短信类型 1 手机短信 2 平台短信
//     */
//    @Max(value = 2)
//    @Min(value = 1)
//    private Integer smsType=CHANNEL_TYPE_PLATFORM;

    /**
     * 通话开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;
    /**
     * 通话结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
}
